package com.sophossystems.client.asmon.dao;

import com.sophossystems.client.asmon.dao.DocumentosDao;
import com.sophossystems.client.asmon.dto.DocumentosDTO;
import com.sophossystems.client.asmon.dto.DocumentosPkDTO;
import com.sophossystems.client.asmon.exceptions.DaoException;
import java.util.List;

public interface DocumentosDao
{
	/**
	 * Method 'insert'
	 * 
	 * @param dto
	 * @return DocumentosPk
	 */
	public DocumentosPkDTO insert(DocumentosDTO dto);

	/** 
	 * Updates a single row in the DOCUMENTOS table.
	 */
	public void update(final DocumentosDTO dto) throws DaoException;

	/** 
	 * Deletes a single row in the DOCUMENTOS table.
	 */
	public void delete(DocumentosPkDTO pk) throws DaoException;

	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria 'idCliente = :idCliente'.
	 */
	public DocumentosDTO findByPrimaryKey(int idCliente) throws DaoException;

	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria ''.
	 */
	public List<DocumentosDTO> findAll() throws DaoException;

	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria 'idCliente = :idCliente'.
	 */
	public List<DocumentosDTO> findWhereIdClienteEquals(int idCliente) throws DaoException;

	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria 'actaCons = :actaCons'.
	 */
	 
	public DocumentosDTO findLastInsert( int idCliente)  throws DaoException;

	 /*
	public List<DocumentosDTO> findWhereActaConsEquals(int actaCons) throws DaoException;
*/
	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria 'actaNac = :actaNac'.
	 
	public List<DocumentosDTO> findWhereActaNacEquals(int actaNac) throws DaoException;*/

	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria 'identRepLegal = :identRepLegal'.
	 
	public List<DocumentosDTO> findWhereIdentRepLegalEquals(int identRepLegal) throws DaoException;*/

	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria 'identOficial = :identOficial'.
	 
	public List<DocumentosDTO> findWhereIdentOficialEquals(int identOficial) throws DaoException;*/

	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria 'compDomicilio = :compDomicilio'.
	 
	public List<DocumentosDTO> findWhereCompDomicilioEquals(int compDomicilio) throws DaoException;*/

	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria 'rfc = :rfc'.
	 
	public List<DocumentosDTO> findWhereRfcEquals(int rfc) throws DaoException;*/

	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria 'curp = :curp'.
	 
	public List<DocumentosDTO> findWhereCurpEquals(int curp) throws DaoException;*/

	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria 'fea = :fea'.
	 
	public List<DocumentosDTO> findWhereFeaEquals(int fea) throws DaoException;*/

	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria 'ciec = :ciec'.
	 
	public List<DocumentosDTO> findWhereCiecEquals(int ciec) throws DaoException;*/

	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria 'altaPatronal = :altaPatronal'.
	 
	public List<DocumentosDTO> findWhereAltaPatronalEquals(int altaPatronal) throws DaoException;*/

	/** 
	 * Returns all rows from the DOCUMENTOS table that match the criteria 'otro = :otro'.
	 
	public List<DocumentosDTO> findWhereOtroEquals(String otro) throws DaoException;*/

	/** 
	 * Returns the rows from the DOCUMENTOS table that matches the specified primary-key value.
	 
	public DocumentosDTO findByPrimaryKey(DocumentosPkDTO pk) throws DaoException;*/

	public DocumentosPkDTO findLastInsert() throws DaoException;
	
	public DocumentosDTO findByIdClienteGeneral(int idClienteGeneral) throws DaoException;
}
